<?php
class page_user extends page_base {
	private $connexion;
	private $droit;
		
	public function __construct($p) {
		parent::__construct($p);
			
		include_once('connexpdo.php');
		$this->connexion=connexpdo("tp_objet");
		if (isset($_POST['name']) && isset($_POST['password'])){
			$this->verifutil($_POST['name'], $_POST['password']);
		}

	}
	private function les_user() {
		/* construction de la requête */
		$requete = 'SELECT login from user where droit=:droit;';

		/* renvoie du résultat de la requête */
		return $this->connexion->prepare($requete);
	}
	private function les_droits() {
		/* construction de la requête */
		$requete = 'SELECT type from droit ;';

		/* renvoie du résultat de la requête */
		return $this->connexion->query($requete);
	}
	public function affiche_contenu(){
	if(isset($_POST['droit'])){
		$result = $this->les_user();
		$result->execute(array(':droit'=>$_POST['droit']));
		if ( !$result)
		{
			echo "lecture impossible";
		}
		else
		{
			$tabutil=	'Il y a :'.$result->rowCount().' utilisateur sous ce droit';
			$tabutil= $tabutil.'<table>';
			$tabutil= $tabutil.'<th><td> nom utilisateurs</td><th>';
			
			while ($row = $result->fetch(PDO::FETCH_OBJ))
				// parcourir chaque ligne sélectionnée
			{

				$tabutil=$tabutil.'<tr>';
				foreach ($row as $colonne)
					// parcours de tous les éléments de la ligne s’il y en a plusieurs
					// donc inutile si un seul élément par ligne
				{
					$tabutil=$tabutil.'<td>'.$colonne.'</td>';
				}
				$tabutil=$tabutil.'</tr>';
				// on peut accéder directement à la colonne via
				//echo $row->login;
			}
			$tabutil= $tabutil.'</table>';
			$result -> closeCursor();    // pour libérer la mémoire occupée
		}
		$result = null ;
		}else{
			$tabutil="yo";
		}
		return $tabutil;
	}
	public function affiche_droit(){
		$result = $this->les_droits();
		if ( !$result)
		{
			echo "lecture impossible";
		}
		else
		{
			$tabutil= '<form action="utilisateur.php" method="POST"><select name="droit">';
			while ($row = $result->fetch(PDO::FETCH_OBJ))
				// parcourir chaque ligne sélectionnée
			{
				foreach ($row as $colonne)
					// parcours de tous les éléments de la ligne s’il y en a plusieurs
					// donc inutile si un seul élément par ligne
				{
					$tabutil=$tabutil.'<option value='.$colonne.'>'.$colonne.'</option>';
				}
				// on peut accéder directement à la colonne via
				//echo $row->login;
			}
			$tabutil= $tabutil.'</select><input type="submit" value="envoyer"></form>';
			$result -> closeCursor();    // pour libérer la mémoire occupée
		}
		$result = null ;
		return $tabutil;
	}
	private function verifutil($login, $password){
		$requete = $this->connexion->prepare('SELECT login, droit from user where login=(:login) and motpasse=(:password);');
		$requete->execute(array(':login'=>$login, ':password'=>$password));
		if($requete->rowCount()>=1){
			while($r=$requete->fetch(PDO::FETCH_OBJ)){
				$this->droit= $r->droit;
			}
			$this->creasession();
			header('location:index.php');
		}else{

			header('location:index.php?erreur=2');
		}
	}
	public function creasession(){
		$nom = $_POST['name'];
		$_SESSION['nom']=$nom;
		setcookie('pseudo', $this->droit, time() + 180, null, null, false, true);
	}
	public function signup(){
		if ( !isset($_POST['login']))
		{
			$this->page= 'inscription';
			return $texte="<form action='./sign_up.php' method='POST'>
					<label>login</label><input type='text' name='login' placeholder='Identifiant'><br>
					<label>Mot de passe</label><input type='password' name='password' placeholder='Mot de passe'>
					<input type='submit'></form>";
		}
		else
		{
			$nom =  $_POST['login'] ;
			$password= $_POST['password'] ;
			echo  $nom;
			$requete = $this->connexion->prepare('INSERT INTO user(id, login, motpasse) VALUES (null, :nom, :password)' );
			$nblignes = $requete->execute(array(':nom'=>$nom, ':password'=>$password));

			if ($nblignes !=1)
			{
				return "Insertion impossible";
			}
			else
			{
				return "Insertion réussie";
				$result = null;
			}
		}

	}

}
?>